package com.huaxiafinance.management.util;


import com.huaxia.middleware.sdk.utils.ServiceCodeAble;
import org.apache.commons.lang3.StringUtils;


public enum ServiceCode implements ServiceCodeAble
{
    PARAMETERS_ERROR("4000", "请求参数有误"), SUCCESS("0000", "处理成功"), EXCEPTION_ERROR("5000",
        "系统异常"), USER_ROLE_DEL_EXP("5001", "角色正在使用，请先删除正在使用的用户"), DICT_CODE_DUPLICATE("5002",
            "数据字典值重复"), ORG_CODE_TOO_LONG("5003",
                "机构等级超出限制"), NORMAL_BUSINESS_EXCEPTION("9000", "此信息为通用错误信息，如果您看到此消息，请联系系统管理员"),

    /**
     * 短信发送失败返回码
     */
    SEND_MESSAGE_FAILE("2000", "短信发送失败"), SEND_MESSAGE_10_TIMES("2001",
        "当日短信可发送次数为0，请明天再试"), USER_CELLPHONE_NOT_EXIST("2002",
            "手机号码不存在"), USER_CELLPHONE_EXIST("2003", "用户名或手机号码已存在"), SEND_MESSAGE_60_SECOND("2004",
                "短信发送间隔为60秒，请稍后再试"), MESSAGE_ERROR("2005",
                    "短信验证码错误"), MESSAGE_TIMEOUT("2006", "短信验证码超时，请重新申请验证码"),

    /**
     * 绑定身份证失败返回码
     */
    BIND_CARD_NOT_EXIST("3000", "未匹配到借款信息"), BIND_CARD_NOT_MATCHES("3001",
        "无匹配的借款信息"), BIND_CARD_NOT_CONTRACT("3002",
            "抱歉，您暂时不能完善个人信息，请联系您的申请门店了解您的申请进度"), BIND_CARD_CELLPHONE_NOT_MATCHES("3003",
                "请使用借款申请的手机号"), CAPTCHA_ERROR("2010", "图形验证码错误"),

    /**
     * 用户登录失败返回码
     */
    USER_LOGIN_FAIL("1001", "用户名不存在"), USER_LOGIN_FAIL_5("1002",
        "密码错误次数过多，请 60 分钟后重新登录"), USER_LOGIN_FAIL_8("1003",
            "密码错误次数过多，请第二天重新登录"), USER_LOGIN_FAIL_MSG("1004", "登录失败,您还可以尝试"), USER_LOGIN_TIME_OUT(
                "1005", "登录超时,请重新登录"), USER_LOGIN_FAIL_PASSWORD("1006",
                    "密码错误请重试"), USER_LOGIN_FAIL_TO_LOGIN("1008",
                        "操作失败，请登录"), USER_LOGIN_FAIL_BY_USERNAME("1007", "用户名已存在！"),

    /**
     * 补发积分失败错误码
     */
    SCORE_ILLEGAL_OPERATOR("7001", "非法的操作者"), SCORE_USER_NOT_FOUND("7002",
        "您输入的用户不存在"), SCORE_USER_FORMAT_ERROR("7003", "你输入的用户名格式有误"), SCORE_FILE_UPLOAD_ERROR(
            "7004", "您上传的附件内容有误,请检查"), SCORE_PARAMETER_IS_NULL("7005",
                "账户名不能为空"), SCORE_UPDATE_MEMBERINFO_ERROR("7006", "更新会员信息失败"),

    /**
     * 订单不存在
     */
    NO_ORDER("7007", "无此订单");

    /**
     * 错误码
     */
    private String code;

    /**
     * 错误信息
     */
    private String text;

    ServiceCode(String code, String text)
    {
        this.code = code;
        this.text = text;
    }

    public String getCode()
    {
        return code;
    }

    public String getText()
    {
        return text;
    }

    public static ServiceCode getEnums(String code)
    {
        for (ServiceCode enums : values())
        {
            if (StringUtils.equalsIgnoreCase(code, enums.getCode()))
            {
                return enums;
            }
        }
        return null;
    }
}